package ve.org.src.sesiones
import sucre.Perfil
import sucre.Usuario

class CacheSeguridad {

    
    static usuario = [:]
    static accionMenu = [:]
    static users=[:]
    static perfiles=[:]

   

    
    static setUsers(List ls){
        users.clear()
        for(Usuario u:ls){
            users.put(u.id,u)
        }
    }
    static getUser(int codigo){
        def user=users.get(codigo)
        if(user==null){
            user=Usuario.get(new Integer(codigo))
            if(user!=null){
                users.put(user.id,user)
            }
        }
        return user
    }
    static setUsuario(Usuario u)
    {
        usuario.put(u.login,u)
    }

    static getUsuario(login)
    {        
        if(usuario.get(login) != null)
            return usuario.get(login)
        else
        {
            Usuario u = Usuario.findByLogin(login)
            if( u!= null)
            {
                usuario.put(u.login,u)
                return u
            }
            return null
        }
    }
    static getPerfilByNombre(perfil){
        if(perfiles.get(perfil) != null)
            return perfiles.get(perfil)
        else
        {
            Perfil p = Perfil.findByNombre(perfil)
            if( p!= null)
            {
                perfiles.put(p.nombre,p)
                return p
            }
            return null
        }
    }
    static limpiarCache(){
        //evento = [:]
        usuario = [:]
        accionMenu = [:]
        users = [:]
        perfiles=[:]
    }
}

